// //引入fs模块
// import fs from 'fs'

// //封装读取文件函数
// const myReadFile = url => {
//   return new Promise((resolve, reject) => {
//     fs.readFile(url, 'utf-8', (err, dataStr) => {
//       !err ? resolve(dataStr) : reject(err)
//     })
//   })
// }

// const timeOut = url => {
//   return new Promise((resolve, reject) => {
//     fs.readFile(url, 'utf-8', (err, dataStr) => {
//       setTimeout(() => {
//         !err ? resolve(dataStr) : reject(err)
//       }, 1000)
//     })
//   })
// }

// //Promise.all方法可以会发起并行的Promise异步操作，等所有的异步操作结束才执行then函数
// //all方法接收一个数组作为参数，只要其中有一个promise结果为rejected则全部失败
// //输出一个数组作为结果
// Promise.all([myReadFile('./text/1.txt'), timeOut('./text/2.txt'), myReadFile('./text/3.txt')]).then(
//   res => console.log(res),
//   err => console.log(err)
// )

// //Promise.race方法也可以发起并行的Promise异步操作，有一个结束就会执行then函数
// //race方法接收一个数组作为参数，
// //第一个promise结果为fulfilled则全部成功，第一个promise结果为rejected则全部失败
// Promise.race([myReadFile('./text/1.txt'), timeOut('./text/2'), myReadFile('./text/3.txt')]).then(
//   res => console.log(res),
//   err => console.log(err)
// )
import fs from 'fs'
const myReadFile =url=>{
  return new Promise((resolve, reject)=>{
   fs.readFile(url,'utf-8',(err, dataStr)=>{
    !err? resolve(dataStr) : reject(err)
   })
  })
}